package com.lhz.project.system.model.param.auth;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 角色信息表参数类
 *
 * @author LiHuaZhi
 * @since 2020-06-20 13:42:57
 */
@Data
@Schema(description = "角色查询参数")
public class RoleParam implements Serializable {

    @Serial
    private static final long serialVersionUID = -35655016758706559L;

    @Schema(description = "角色ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer id;

    @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String name;

    @Schema(description = "角色编码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String code;

    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer orderNum;

    //自定义数据时，需要传入选择部门Id
    @Schema(description = "数据范围（1：全部数据 2：自定数据 3：本部门及以下数据 4：本部门数据  5:个人数据）")
    private Integer dataScope;

    //菜单id要包含层级关系要传入每层Id
    @Schema(description = "菜单组", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<Integer> menuIds;

    //部门id要包含层级关系要传入每层Id
    @Schema(description = "部门组（数据权限）", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<Integer> deptIds;

}